/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ideastec.mipyme.persistence.localidad;

import java.util.List;

import com.ideastec.mipyme.persistence.DAOPadre;
import com.ideastec.mipyme.model.localidad.Localidad;
import com.ideastec.mipyme.model.provincia.Provincia;
import com.ideastec.mipyme.repository.localidad.RepositorioLocalidad;

/**
 *
 * @author Diego Rafael Graf
 */

public class DAOLocalidad extends DAOPadre<Localidad> implements RepositorioLocalidad{
    
    @Override 
    protected Class<Localidad> getClase(){
        return Localidad.class;
    }
    
    @Override 
    public List<Localidad> buscarLocalidad(Localidad localidad) throws Exception{
        try{
            return this.getHibernateTemplate().find("from " + persistentClass.getName() + " where nombre = '" + localidad.getNombre() + "'");
        }
        catch(Exception e){
            throw new Exception(e);
        }
    }
    
    @Override 
    public List<Localidad> buscarLocalidadPorProvincia(Localidad localidad) throws Exception{
        try{
            return this.getHibernateTemplate().find("from " + persistentClass.getName() + " where nombre = '" + localidad.getNombre() + "' and IDPROVINCIA = " + localidad.getProvincia().getId());
        }
        catch(Exception e){
            throw new Exception(e);
        }
    }
    
    @Override 
    public List<Localidad> listarLocalidadesPorProvincia(Provincia provincia) throws Exception{
        try{
            return this.getHibernateTemplate().find("from " + persistentClass.getName() + " where idprovincia = '" + provincia.getId() + "'");
        }
        catch(Exception e){
            throw new Exception(e);
        }
    }
    
}
